package 二进制;

public class 两整数之和_371 {
/**
 * 不使用运算符 + 和 - ​​​​​​​，计算两整数 ​​​​​​​a 、b ​​​​​​​之和。

	示例 1:
	
	输入: a = 1, b = 2
	输出: 3
	示例 2:
	
	输入: a = -2, b = 3
	输出: 1
 */
// ^ 相同为0 ,不同为1 , & 与 1,1 = 1;  0,1 0
	//思路:a^b表示俩数相加,但是不会进位,(a&b)<<1就是进位,所以利用递归思想,a的值传入俩数相加的值,b的值传入进位,当b==0时(没有进位),递归结束
	  public int getSum(int a, int b) {
	        
		  return b==0?a:(getSum((a^b),(a&b)<<1));
	  
	  }
}
